package cn.edu.cimv.service;

import cn.edu.cimv.dao.entity.Member;
import cn.edu.cimv.dao.entity.MemberItem;
import cn.edu.cimv.dao.entity.User;

import java.util.List;

/**
 * Created by 门铎 on 2016/7/26.
 */
public interface UserService {
    /**
     * 查询所有User
     * @return
     */
    List<User> queryUsers();
    /**
     * 根据id查单个用户
     */
    User queryUserById(int id);
    /**
     * 新建用户
     * @param userName
     * @param password
     * @param role
     * @return
     */
    int insertUser(String userName,String password,String role);

    /**
     * 更新用户信息
     * @param userName 用户名
     * @param password 密码
     * @param role 角色
     * @param id id
     * @return
     */
    int updateUser(String userName,String password,String role,int id);

    /**
     * 删除用户
     * @param id
     */
    void deleteUser(int id);

    /**
     * 根据账户id查找绑定的member
     * @param refId
     * @return
     */
    Member selectMember(int refId);
    int selectMemberId(String userName);

    /**
     * 更新实验室成员个人信息
     * @param member 实验室人员信息
     */
    void updateMember(Member member);

    /**
     * 根据账号id查询该团队成员详细列信息
     * @param userId
     * @return
     */
    List<MemberItem> selectMemberItems(String userId);

    /**
     * 插入用户详细列信息
     * @param memberItem
     */
    void insertMemberItem(MemberItem memberItem);

    /**
     * 更新用户详细信息列
     * @param memberItem
     */
    void updateMemberItem(MemberItem memberItem);
    void deleteMemberItem(int id);
    /**
     * 查找对应用户信息列
     * @param id member_item主键
     * @return
     */
    MemberItem getMemberItemsByKey(int id);
}
